Piping Server (TypeScript版)の0.14.0まで質素なWeb UIでXMLHttpRequestを使わなかった理由と0.15.0で使うようになった理由
書きたいこと
サーバーのロジックは一切変更を加えてない。
質素なWeb UIをシンプルに抑えられる。
HTTPでファイルやテキストをPOSTしたときのエラーハンドリングなどをブラウザ側に任せることができる。 これにより、より質素なWeb UIのコードが短くなり、コードを読んで検証したりすることが容易になる
<form>を使っていた。
サーバー実装とは無関係なのでテキストインライン表示をブラウザでしたいなら「現在のPiping UIみたいなものを作ればよいな」という構想があったため。 質素なWeb UIでテキストを送って、それをブラウザで開こうとするとテキストがダウンロードされてしまうから。
つまり、<form>に関係しないテキストを普通にcurlやPiping UIで送って、ブラウザで開けば0.14.0でもインラインで表示される。 テキストならブラウザ上でインラインで表示される方が嬉しい。
保存されてファイルがストレージに増えずに済む。
ファイルを開いたときに、ファイルを開くアプリの脆弱性をついた攻撃の可能性をゼロにできる。
(ブラウザのテキストレンダラに脆弱性がある可能性もあるが)
https://gyazo.com/07836f3f247aaa05dcaa120e9b9e4508